#include <cstdio>
#include <iostream>
using namespace std;
const int maxn = 10010;
int n, h[maxn], tot, ans, tmp;
void up(int k){
	while(k > 1){
		if(h[k / 2] > h[k]){
			swap(h[k / 2], h[k]);
			k /= 2;
		}else return;
	}
}
void down(int k){
	while(2 * k <= tot){
		int j = 2 * k;
		if(j < tot && h[j + 1] < h[j]) j++;
		if(h[j] < h[k]){
			swap(h[j], h[k]);
			k = j;
		}else return;
	}
}
int main(){
	scanf("%d", &n);
	for(int i = 1; i <= n; i++){
		scanf("%d", &h[i]); tot++;
		up(i);
	}
	for(int i = 1; i < n; i++){
		tmp = h[1];
		h[1] = h[tot--]; down(1);
		tmp += h[1];
		h[1] = h[tot--]; down(1);
		ans += tmp;
		h[++tot] = tmp; up(tot);
	}
	printf("%d\n", ans);
	return 0;
}
